﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace B.S.DataBase.Production.Domain
{
    /// <summary>
    /// /// <summary>
    /// 生产计划主实体类
    /// </summary>
    /// </summary>
    public class ProductionPlanMondel
    {
        // 基本信息
        [Key]
        public int Id { get; set; }
        /// <summary>
        /// 关联预生产计划（外键关联）
        /// </summary>
        public string PrePlanId { get; set; }             // 如："PP-20250326001"

        /// <summary>
        /// 单据主题（必填）
        /// </summary>
        public string Subject { get; set; }              // 示例："2025年Q2生产计划"

        /// <summary>
        /// 系统自动生成单据编号
        /// </summary>
        public string DocumentCode { get; set; }// 格式：PP-YYYYMMDDHHMMSS

        /// <summary>
        /// 关联项目编号
        /// </summary>
        public string ProjectId { get; set; }// 如："PROJ-2025-MED01"

        /// <summary>
        /// 自动生成订单标识（下拉选择）
        /// </summary>
        public bool IsAutoGenerateOrder { get; set; } // true=是，false=否（默认值）

        /// <summary>
        /// 制单人员（系统自动填充）
        /// </summary>
        public string CreatedBy { get; set; }  // 当前登录用户

        /// <summary>
        /// 制单时间（默认当前时间）
        /// </summary>
        public DateTime CreatedDate { get; set; } = DateTime.Now; // 2025-03-26

        /// <summary>
        /// 关联销售合同编号
        /// </summary>
        public string SalesContractId { get; set; }      // 如："SC-20250326008"

        // 明细清单（支持动态操作）
        public List<ProductionDetail> Details { get; set; } = new List<ProductionDetail>();
        public string? Message { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public int Status { get; set; } = 1;
    }
}
